The UNMAP command is a command that requests data invalidation in a memory system, which is realized by dissolving the correspondence relationship between a logical address and a physical address corresponding thereto in the memory system for an indicated logical address. In addition to this, in the UNMAP command process, it is necessary to update various data, such as a valid cluster counter; therefore, the process takes time. If the range of the indicated logical address is wide, more time is needed.
This is because, for example, in an enterprise SSD, it is necessary to perform an operation of making management information nonvolatile and matching the management information per cluster so as to prevent, for example, information on the UNMAP command from being lost when the power fails, a nonvolatile memory unit from being worn out, and the write performance from degrading.
Conventionally, there is a problem in that after the UNMAP command for a wide range is input, other commands cannot be executed immediately. This is because the controller of the SSD does not respond until the internal processing for the UNMAP command is completed and therefore a subsequent command cannot be issued. Moreover, it takes a long time to perform the internal processing for executing the UNMAP command for a wide range.